上一篇介紹了 Series 物件的各種運算函數,今天來示範如何在 DataFrame 運算以及更多應用!
dict_1 = {'guitar': [10, 20, 30], 'bass': [40, 50, 60], 'keyboard': [70, 80, 90], 'violin': [100, 110, 120]}
dict_2 = {'guitar': [10, 10, 10], 'bass': [10, 10, 10], 'keyboard': [10, 10, 10]}
instrument_1 = pd.DataFrame(dict_1, index=['A', 'B', 'C'])
instrument_2 = pd.DataFrame(dict_2, index=['A', 'B', 'C'])
print(instrument_1)
print(instrument_2)
輸出結果
guitar bass keyboard violin
A 10 40 70 100
B 20 50 80 110
C 30 60 90 120
guitar bass keyboard
A 10 10 10
B 10 10 10
C 10 10 10
使用 .add() 相加
print('#1')
print(instrument_1.add(instrument_2))
print('\n#2')
print(instrument_1.add(instrument_2, fill_value=10))
輸出結果
#1
bass guitar keyboard violin
A 50 20 80 NaN
B 60 30 90 NaN
C 70 40 100 NaN
#2
bass guitar keyboard violin
A 50 20 80 110.0
B 60 30 90 120.0
C 70 40 100 130.0
使用 .sub() 相減
print(instrument_1.sub(instrument_2, fill_value=10))
輸出結果
bass guitar keyboard violin
A 30 0 60 90.0
B 40 10 70 100.0
C 50 20 80 110.0
使用 .mul() 相乘
print(instrument_1.mul(instrument_2, fill_value=10))
輸出結果
bass guitar keyboard violin
A 400 100 700 1000.0
B 500 200 800 1100.0
C 600 300 900 1200.0
使用 .div() 相除
print(instrument_1.div(instrument_2, fill_value=10))
輸出結果
bass guitar keyboard violin
A 4.0 1.0 7.0 10.0
B 5.0 2.0 8.0 11.0
C 6.0 3.0 9.0 12.0
.sort_index() 是依照索引進行排序,而 .sort_values() 就如同字面上的意思是依照值進行排序,但 Series 和 DataFrame 的用法有些微不同,我們先來看一下 Series 如何使用
建立 Series 物件
data = pd.Series([10, 30, 20, 40], index=['a', 'b', 'c', 'd'])
print(data)
輸出結果
a 10
b 30
c 20
d 40
dtype: int64
.sort_index() 的示範
可以看到下面這兩個輸出結果,一個是升冪排序,一個是降冪排序,透過 ascending 的參數來決定,預設為 升冪(True)
print('#1')
print(data.sort_index())
print('\n#2')
print(data.sort_index(ascending=False))
輸出結果
#1
a 10
b 30
c 20
d 40
dtype: int64
#2
d 40
c 20
b 30
a 10
dtype: int64
.sort_values() 的示範
跟上面一樣,可以指定升冪或降冪排序,只是變成依照值來做排序
print('#1')
print(data.sort_values())
print('\n#2')
print(data.sort_values(ascending=False))
輸出結果
#1
a 10
c 20
b 30
d 40
dtype: int64
#2
d 40
b 30
c 20
a 10
dtype: int64
下一篇繼續介紹 DataFrame 的排序函數用法及更多應用!